package plugin.bpce.Telas;

import java.io.FileOutputStream;
import java.util.Properties;

import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;

import plugin.bpce.Object.InterfaceCoppeer;
import plugin.bpce.modelo.BPCEResult;

class AbreImagem implements SelectionListener{		
	private BPCEResult resultado;
	private String Path, nomePontuador;
	private InterfaceCoppeer coppeer;
	
	public AbreImagem(BPCEResult Resultado, InterfaceCoppeer coppeer, String nomePontuador){		
		this.resultado = Resultado;
		this.Path = System.getProperty("java.io.tmpdir") + "/" + Resultado.getNomeAutor() + Resultado.getNomeDiagrama() + ".jpg";
		this.nomePontuador = nomePontuador;
		this.coppeer = coppeer;
	}

	public void widgetSelected(SelectionEvent arg0) {
		FileOutputStream out;		
		byte[] bImagem;		
		
		bImagem = resultado.getImagem();		
		
		try{			
			out = new FileOutputStream(this.Path);
			out.write(bImagem);
			out.flush();
			out.close();
			
			Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL " + this.Path);
			
			pontuaVisualizacao();
		}
		catch(Exception e){
			e.printStackTrace();
		}
	}

	private void pontuaVisualizacao() {
		Properties parametro;
		
		parametro = new Properties();
		parametro.setProperty("nomeModelo", this.resultado.getNomeDiagrama());
		parametro.setProperty("nomeAutorModelo", this.resultado.getNomeAutor());
		parametro.setProperty("nomePontuador", this.nomePontuador);
		
		coppeer.pontuaVisualizacao(parametro);
	}
	
	public void widgetDefaultSelected(SelectionEvent arg0) {
	}
}